package cn.zlg.common.springmvc.validate;

import com.joysuch.wwyt.common.resultdto.ApiCodeMsgDto;
import com.joysuch.wwyt.common.resultdto.ApiResultDto;
import com.joysuch.wwyt.openapi.result.ApiV1Result;

/**
 * @program: wwyt-framework
 * @Description: API 异常实现
 * @author: aeiSaf
 * @create: 2020-07-24 17:23
 **/
public class ApiDefaultExceptionResponseBodyBuilder implements ApiExceptionResponseBodyBuilder {


    /**
     * API V1 请求 JSON 格式错误
     *
     * @return
     */
    @Override
    public ApiV1Result apiV1RequestFormatException(String status, int code) {
        ApiV1Result apiV1Result = new ApiV1Result(code,status,"JSON格式错误");
        return apiV1Result;
    }


    /**
     * v1 api  业务异常
     *
     * @param status
     * @param code
     * @param errMsg
     * @return
     */
    @Override
    public ApiV1Result apiV1ExceptionCodeMsg(String status, int code, String errMsg) {
        ApiV1Result apiV1Result = new ApiV1Result(code,status,errMsg);
        return apiV1Result;
    }

//    /**
//     * 通用返回错误
//     *
//     * @param status
//     * @param errorCode
//     * @param errmsg
//     * @return
//     */
//    @Override
//    public ApiResultDto apiCommonErrorExceptionResponse(String status, int errorCode, String errMsg) {
//        ApiResultDto apiResultDto = new ApiResultDto(status, errorCode, errMsg, null);
//        return apiResultDto;
//    }
//
//    /**
//     * 通用数据是null
//     *
//     * @param errMsg
//     * @return
//     */
//    @Override
//    public ApiResultDto apiDataIsNullErrorExceptionResponse(String errMsg) {
//        if (StringUtils.isEmpty(errMsg)) {
//            return ApiResultDto.error(ApiCodeMsgDto.ERROR);
//        } else {
//            return ApiResultDto.error(ApiCodeMsgDto.ERROR, errMsg);
//        }
//    }
//
//    /**
//     * 通用集合额个数小于 0 及 为 null
//     *
//     * @param errMsg
//     * @return
//     */
//    @Override
//    public ApiResultDto apiListSizeIsZeroExceptionResponse(String errMsg) {
//        return ApiResultDto.error(ApiCodeMsgDto.TY_LIST_ZERO_OR_NULL_ERROR, errMsg);
//    }
//
//    /**
//     * 建筑(BuildId)是null
//     *
//     * @return
//     */
//    @Override
//    public ApiResultDto apiBuildIdIsNullExceptionResponse() {
//        return ApiResultDto.error(ApiCodeMsgDto.BUILD_ID_IS_NULL, "buildId不能为空");
//    }
//
//    /**
//     * 令牌失效
//     *
//     * @param
//     * @return
//     */
//    @Override
//    public ApiResultDto apiTokenLoseEfficacyExceptionResponse() {
//        return ApiResultDto.error(ApiCodeMsgDto.TOKEN_TIMEOUT_ERROR, "令牌失效");
//    }
//
//    /**
//     * 4.0 风险区域修对象个数超过 1 个
//     *
//     * @param errMsg
//     * @return
//     */
//    @Override
//    public ApiResultDto apiRailAlarmExceptionResponse(String errMsg) {
//        return ApiResultDto.error(ApiCodeMsgDto.EXCEED_NUMBER_ERROR, errMsg);
//    }
//
//    /**
//     * 修改异常
//     *
//     * @param errMsg
//     * @return
//     */
//    @Override
//    public ApiResultDto apiUpdateExceptionResponse(String errMsg) {
//        return ApiResultDto.error(ApiCodeMsgDto.API_EXCEPTION_ERROR, errMsg);
//    }
//
//    /**
//     * 该报警ID不存在
//     *
//     * @param errMsg
//     * @return
//     */
//    @Override
//    public ApiResultDto apiALAlarmInexistenceExceptionResponse(String errMsg) {
//        return ApiResultDto.error(ApiCodeMsgDto.ALARM_ID_INEXISTENCE_ERROR, errMsg);
//    }
//
//    /**
//     * 人员不存在 错误
//     *
//     * @param errMsg
//     * @return
//     */
//    @Override
//    public ApiResultDto apiPersonIsFalseExceptionResponse(String errMsg) {
//        return ApiResultDto.error(ApiCodeMsgDto.PERSON_IS_NULL_ERROR, errMsg);
//    }
//
//    /**
//     * SN标签已被绑定
//     *
//     * @param errMsg
//     * @return
//     */
//    @Override
//    public ApiResultDto apiSnIsBangdingExceptionResponse(String errMsg) {
//        return ApiResultDto.error(ApiCodeMsgDto.SN_BINDING, errMsg);
//    }
//
//    /**
//     * SN标签不存在
//     *
//     * @param errMsg
//     * @return
//     */
//    @Override
//    public ApiResultDto apiSnIsNullExceptionResponse(String errMsg) {
//        return ApiResultDto.error(ApiCodeMsgDto.NOT_SN, errMsg);
//    }
//
//    /**
//     * SN 标签已经被使用
//     *
//     * @param errMsg
//     * @return
//     */
//    @Override
//    public ApiResultDto apiSnInUseExceptionResponse(String errMsg) {
//        return ApiResultDto.error(ApiCodeMsgDto.SN_IN_USE, errMsg);
//    }

    /**
     * 令牌请求参数异常
     *
     * @return
     */
    @Override
    public ApiResultDto apiTokenFormatExceptionResponse() {
        return ApiResultDto.error(ApiCodeMsgDto.TOKEN_JSON_ERROR, "JSON格式错误");
    }

//    /**
//     * Employee 请求JSON 格式错误
//     *
//     * @return
//     */
//    @Override
//    public ApiResultDto apiEmployeeFormatExceptionResponse() {
//        return ApiResultDto.error(ApiCodeMsgDto.Employee_JSON_ERROR, "请求json格式错误");
//    }
//


}
